#ifndef TESTER_RESULT_LOG_H_
#define TESTER_RESULT_LOG_H_

#include <iostream>
#include "result.h"

namespace Tester {
   class ResultLog : public Result {
      private:
         std::ostream &out;

      public:
         ResultLog(std::ostream &out);

         virtual void initTestCase(const char *name, const char *file = 0);

         virtual void unexpected(const char *nameMethod, unsigned int count,
               const char *what = 0);

         virtual void fail(const char *nameMethod, unsigned int count,
               const char *typeFail, int line = -1);

         virtual void pass(const char *nameMethod);

         virtual void 
            error(const char *nameMethod, const char *nameStage, const char *what=0);

         virtual void finishTestCase(unsigned int numTests);

         virtual ~ResultLog();

   };
}
#endif
